package com.project.service;

import com.github.pagehelper.PageInfo;
import com.project.bean.UserBean;

/**
 * 用户接口
 */
public interface IUserService {
    int PAGE_SIZE=5;

    /**
     * 用户登录,同时查询该用户的权限集合，同时记录登录日志
     * @param code 用户名
     * @param pwd 密码
     * @return
     */
    public UserBean login(String code, String pwd);


    /**
     * 按姓名查询用户  姓名为空就查询全部  不需要查询对应的角色信息
     * @param name 用户姓名
     * @return 用户分页对象
     */
    public PageInfo<UserBean> findByItem(int pageNO, String name);

    /**
     * 添加用户 ，要先判断用户名是否存在 根据用户id添加角色集合，到中间表。
     * @param user
     */
    public String addUser(UserBean user, int[] roleIdArray);

    /**
     * 根据用户id删除用户，要先删除所有用户id的中间表数据
     * @param id
     */
    public void delUser(int id);

    /**
     * 根据用户id 查询用户 同时查询用户的所有角色 以及角色对应的权限
     * @param id
     * @return
     */
    public UserBean findById(int id);

    /**
     * 修改用户角色，先根据用户id删除角色用户中间表的相关数据，在把用户id和新的角色集合添加到中间表
     * @param id
     * @param roleIdArray
     */
    public void update(int id, int[] roleIdArray);

    /**
     * 用户修改密码
     * @param id  用户id
     * @param newPwd 新密码
     */
    public void updatePwd(int id, String newPwd);
}
